/**
 * 讲解：https://www.bilibili.com/video/BV1rv4y1H7o6?spm_id_from=333.788.videopod.episodes&vd_source=36dbb0f6eb577254888df3bf9b4ce456&p=183
 * https://leetcode.cn/problems/find-the-index-of-the-first-occurrence-in-a-string/description/
 *
 * 给你两个字符串 haystack 和 needle ，请你在 haystack 字符串中找出 needle 字符串的第一个匹配项的下标（下标从 0 开始）。如果 needle 不是 haystack 的一部分，则返回  -1 。
 *
 *
 *
 * 示例 1：
 *
 * 输入：haystack = "sadbutsad", needle = "sad"
 * 输出：0
 * 解释："sad" 在下标 0 和 6 处匹配。
 * 第一个匹配项的下标是 0 ，所以返回 0 。
 *
 * 示例 2：
 *
 * 输入：haystack = "leetcode", needle = "leeto"
 * 输出：-1
 * 解释："leeto" 没有在 "leetcode" 中出现，所以返回 -1 。
 * @author liuzhaoqiang
 */
public class LeetCode28 {

    public int strStr(String haystack, String needle) {
        char[] org = haystack.toCharArray();
        char[] pattern = needle.toCharArray();

        int i=0;
        int j;
        while(i<=org.length-pattern.length){
            for(j=0;j<pattern.length;j++){
                //没有匹配
                if(org[i+j] != pattern[j]){
                    break;
                }
            }
            //匹配上了
            if(j==pattern.length){
                return i;
            }
            i++;
        }
        return -1;
    }

    public static void main(String[] args) {
        LeetCode28 leetCode28 = new LeetCode28();
        String haystack = "a";
        String needle = "a";
        System.out.println(leetCode28.strStr(haystack, needle));
    }
}
